package visualisationRadar;

import ihm.IhmRadar;
import java.io.File;
import modelesObjet.ModelePiloteRadar;

public class VisualisationRadar {

	public static String repertoire;
	public static String repertoireRessources;
	public static String repertoireImages;
	public static String repertoireDonnees;
	public static String repertoireDonneesPluvios;
	public static String repertoireDonneesRR;
	public static String repertoireDonneesQualite;

	private ModelePiloteRadar objetRadar;
	private IhmRadar ihmRadar;
	//private FichierRadar fichierRadar;
	
	public final static int RR=1;
	public final static int RRcumul=3;
	public final static int QUALITE=2;
	public final static int QUALITEcumul=4;

	public final static int NBPIXELS=512;
	
	public VisualisationRadar(String rep,ModelePiloteRadar objetRadar){
		ihmRadar=new IhmRadar(this);
		this.objetRadar=objetRadar;
		
		repertoire=rep;
		repertoireRessources=repertoire+"ressources/";
		repertoireImages=repertoire+"images/";
		repertoireDonnees=repertoire+"donnees/";
		repertoireDonneesPluvios=repertoireDonnees+"pluvios/";
		repertoireDonneesRR=repertoireDonnees+"rr/";
		repertoireDonneesQualite=repertoireDonnees+"qualite/";
		
		//chargeImage(new File(repertoireDonneesRR+"Toulouse_201012230225.RR"));
	}
	
	public void notifieIhm(){
		ihmRadar.repeindre();
	}
	
	public boolean chargeImage(File file) {
		boolean isCharge=objetRadar.chargeImage(file);
		notifieIhm();
		return isCharge;
	}
	public boolean deplacerImage(int i) {
		boolean isDeplace=objetRadar.deplacerImage(i);
		notifieIhm();
		return isDeplace;
	}

	public boolean switchImage() {
		boolean isSwitche=objetRadar.switchQualiteRR();
//TODO		if (isPluvios()) setPluvios(false);
		notifieIhm();
		return isSwitche;
	}

	//--sauvegarde de l image en .jpeg
	public void saveGraphics(){
		if (objetRadar.getImageRadar()!=null) ihmRadar.saveGraphics(objetRadar.getImageRadar().getNomFichier());
	}

	public void ajouteIhm(IhmRadar ihmRadar) {
		this.ihmRadar=ihmRadar;
	}

	public void setFond(boolean b) {
		ihmRadar.setFond(b);
	}

	public void setPointRadar(boolean b) {
		ihmRadar.setPointRadar(b);
	}

	public ModelePiloteRadar getObjetRadar() {
		return objetRadar;
	}

	public boolean getFond() {
		return ihmRadar.getFond();
	}
	public boolean getPointRadar() {
		return ihmRadar.getPointRadar();
	}

	public void zoomer(boolean b) {
		ihmRadar.zoomer(b);
	}

	public boolean isZoom() {
		return ihmRadar.isZoom();
	}
	
	public boolean getChoixZoom() {
		// TODO Auto-generated method stub
		return ihmRadar.getChoixZoom();
	}

	public int getZoomX() {
		// TODO Auto-generated method stub
		return ihmRadar.getZoomX();
	}

	public int getZoomY() {
		// TODO Auto-generated method stub
		return ihmRadar.getZoomY();
	}

	public boolean switchImageCumul() {
		boolean isSwitcheCumul=true;
		//Date date;
		if (objetRadar.getImageRadar() == null)
			return false ;
		if (objetRadar.getImageRadar().getType()>2){
			//date=ihmRadar.getDateRefl();
			isSwitcheCumul=objetRadar.cumulVersLame();
		}else{
			//date=ihmRadar.getDateCumul();
			int prof =ihmRadar.getProfondeur();
//			if (date!=null) isSwitcheCumul=objetRadar.switchImageCumul(date);
			if (prof>0) isSwitcheCumul=objetRadar.lameVersCumul(prof);
		}
		notifieIhm();
		return isSwitcheCumul;
	}
	public void setPluvios(boolean b) {
		ihmRadar.setPluvios(b);
	}
	public boolean isPluvios() {
		return ihmRadar.isPluvios();
	}
	
	public void compareRadarPluvios() {
		ihmRadar.demandeInfosComparaison();
	}

	public void donneInfosComparaison(boolean biais, boolean eqm,int minQualite, int maxQualite) {
		objetRadar.compareRadarPluvios(biais,eqm,minQualite,maxQualite);
	}
}
